perm filename ADJUST.SAI[11,ALS]1 blob sn#060631 filedate 1973-09-03 generic text, type T, neo UTF8
00010	BEGIN "ADJUST"
00020	DEFINE ⊂="COMMENT";  ⊂ 9/2/73 ADJUSTS INPUT  DATA;
00030	DEFINE CR="'15",LF="'12",CRLF="CR&LF",TB="'11";
00040	
00050	INTEGER ARRAY INDATA[0:255];
00060	INTEGER ARRAY LFILE[0:'177];
00070	INTEGER ARRAY SUMS[0:23,0:63];
00080	INTEGER I,J,K,L,M,N,P,SEGC,SEGTOT,BRK,EOF,EOFA,BPT,RL;
00090	INTEGER CHAN1,CHAN2, CHAN3,CHAN4;
00100	STRING READ1,FILEI,FILEL,FILLST;
00110	BOOLEAN ER;
00120	
00130	STDBRK(1);
00140	SETBREAK(14,"∃",NULL,"INS");
00150	SETBREAK(16,'56,NULL,"INA");
00160	
00170	OUTSTR("This program adjusts the input data from the specified file "
00180	  &"and creates a new file with extension of T0X."&CRLF);
00190	CHAN1←1; CHAN2←2; CHAN3←3;  CHAN4←4;
00200	
00210	OPEN(CHAN1,"DSK",'10,10,0,0,0,EOF);
00220	LOOKUP(CHAN1,"NORMAL.DAT",0);
00230	ARRYIN(CHAN1,SUMS[0,0],1536);
00240	CLOSE(CHAN1);
00250	
00260	OUTSTR("Data file list (LIST28) = "); FILEL←INCHWL;
00270	IF FILEL="" THEN FILEL←"LIST28";
00280	CLOSE(CHAN2); OPEN(CHAN2,"DSK",1,2,0,3500,BRK,EOFA);
00290	LOOKUP(CHAN2,FILEL,ER);
00300	WHILE ER DO BEGIN OUTSTR(CRLF&"Can't find "&FILEL&" File = ");
00310	LOOKUP(CHAN2,FILEL←INCHWL,ER); END;  EOFA←0;
00320	FILLST←INPUT(CHAN2,14); EOFA←0; RL←0; CLOSE(CHAN2);
00330	WHILE EOFA=0 DO BEGIN "LISTREAD"
00340	FILEI←SCAN(FILLST,1,J); IF FILEI="" THEN DONE;
00350	
00360	CLOSE(CHAN4); OPEN(CHAN4,"DSK",'10,10,0,0,0,EOF);
00370	LOOKUP(CHAN4,FILEI,ER);
00380	 IF EOF≠0 THEN DONE;
00390	ARRYIN(CHAN4,LFILE[0],'200);	⊂ Input header;
00400	SEGTOT←(LFILE[0]*6)%256;  SEGC←0;
00410	OUTSTR(FILEI&" "&CVS(SEGTOT)&" seg. ");
00420	
00430	READ1←SCAN(FILEI,16,J)&"T0X";
00440	CLOSE(CHAN3); OPEN(CHAN3,"DSK",'10,0,10,0,0,EOF);
00450	ENTER(CHAN3,READ1,BRK); ARRYOUT(CHAN3,LFILE[0],'177);
00460	
00470	WHILE TRUE DO BEGIN
00480	FOR I←0 STEP 1 UNTIL 255 DO INDATA[I]←0;
00490	ARRYIN(CHAN4,INDATA[0],256);
00500	BPT←POINT(6,INDATA[0],-1);
00510	FOR I←0 STEP 1 UNTIL 63 DO BEGIN
00520	  SEGC←SEGC+1; IF SEGC>SEGTOT THEN DONE;
00530	  FOR P←0 STEP 1 UNTIL 23 DO BEGIN
00540	    J←ILDB(BPT);
00550	    K←SUMS[P,J] LAND '77; DPB(K,BPT); END;
00560	  END;
00570	ARRYOUT(CHAN3,INDATA[0],256);
00580	IF SEGC>SEGTOT THEN DONE;
00590	END;
00600	
00610	CLOSE(CHAN3); OUTSTR(" Created file "&READ1&CRLF); 
00620	
00630	IF EOFA≠0 THEN DONE;
00640	END "LISTREAD";
00650	
00660	
00670	RELEASE(CHAN1); RELEASE(CHAN2); RELEASE(CHAN3); RELEASE(CHAN4);
00680	
00690	END "ADJUST";